#include <iostream>

using namespace std;

//类对象作为类成员
//C++类中的成员可以是另一个类的对象，我们称该成员为 对象成员
class Phone {//手机类
public:
    string brand;//手机品牌

    Phone(string brand) : brand(brand) {
        cout << "Phone的构造函数" << endl;
    }

    ~Phone() {
        cout << "Phone的析构函数" << endl;
    }
};

class Person {//人类
public:
    string name;//姓名
    Phone phone;//手机

    //隐式转换法 Phone brand=phone;
    Person(string name, string phone) : name(name), phone(phone) {
        cout << "Person的构造函数" << endl;
    }

    ~Person() {
        cout << "Person的析构函数" << endl;
    }
};

//当其他类对象作为本类成员，构造时候先构造类对象，再构造自身，析构时候与构造相反
void test1() {
    Person person("张三", "iPhone");
    cout << person.name << "有一台" << person.phone.brand << "手机" << endl;
}

int main() {
    test1();
    return 0;
}